"""
题目背景：

    在进行复杂的系统模拟或长时间的科学计算时，程序会产生大量的日志。为了诊断问题或分析结果，经常需要对这些日志进行排序。然而，排序的需求是多变的：有时我们希望按时间顺序查看，有时则希望优先查看错误（ERROR）日志，当错误级别相同时再按时间排序。

    你的任务是创建一个灵活的日志排序系统，它能够根据动态指定的排序规则来整理日志。

题目描述：

    请编写一个名为 create_log_sorter_key 的高阶函数。这个函数不直接进行排序，而是根据传入的排序优先级列表，生成并返回一个可以用作 sorted() 函数 key 参数的函数。

    日志条目的格式固定为："[YYYY-MM-DD HH:MM:SS] [LEVEL] Message"，其中 LEVEL 包括 INFO, DEBUG, WARN, ERROR 四种。

排序规则：

    1.LEVEL 的优先级定义为：INFO < DEBUG < WARN < ERROR。在排序时，我们希望优先级高的（如 ERROR）排在前面，所以需要降序排列。

    2.TIMESTAMP (时间戳) 是字符串，按字典序升序排列即可。

    create_log_sorter_key 函数接收一个参数 sort_priority，它是一个字符串列表，指明了排序的主次键。例如：

    • ['LEVEL', 'TIMESTAMP'] 表示首先按 LEVEL 降序排，如果 LEVEL 相同，则按 TIMESTAMP 升序排。

    •['TIMESTAMP'] 表示只按 TIMESTAMP 升序排。

测试用例：
 (使用上述 logs 列表)

输出排序关键字	    预期输出的第一条日志	          预期输出的最后一条日志
['TIMESTAMP']	"[2023-01-01 10:00:00] [INFO] System starting up"	"[2023-01-01 10:02:00] [INFO] Task completed successfully"
['LEVEL']	  "[2023-01-01 10:01:00] [ERROR] Critical failure in module A"	"[2023-01-01 10:00:00] [INFO] System starting up"
['LEVEL', 'TIMESTAMP']	"[2023-01-01 10:01:00] [ERROR] Critical failure in module A"	"[2023-01-01 10:02:00] [INFO] Task completed successfully"
['TIMESTAMP', 'LEVEL']	"[2023-01-01 10:00:00] [INFO] System starting up"	"[2023-01-01 10:02:00] [INFO] Task completed successfully"

"""